module decode2_wrapper(i_pipe, o_pipe, i_pc, o_valid);
input [49:0] i_pipe;
output [241:0] o_pipe;
input [29:0] i_pc;
output o_valid;
wire pipe_valid_i;
wire [31:0] pipe_instr_i;
wire [16:0] pipe_instr_class_i;
wire pipe_valid_o;
wire [29:0] pipe_pc_o;
wire [31:0] pipe_instr_o;
wire [31:0] pipe_retaddr_o;
wire [3:0] pipe_cond_o;
wire [3:0] pipe_gpr_rn_sel_o;
wire [3:0] pipe_gpr_rd_sel_o;
wire pipe_gpr_rd_sel_usr_o;
wire [3:0] pipe_gpr_rs_sel_o;
wire [3:0] pipe_gpr_rm_sel_o;
wire pipe_gpr_we0_o;
wire [3:0] pipe_gpr_wa0_o;
wire pipe_gpr_wa0_exc_o;
wire pipe_gpr_dsel0_ex1_o;
wire [1:0] pipe_gpr_dsel0_ex2_o;
wire [1:0] pipe_gpr_dsel0_ex3_o;
wire [1:0] pipe_gpr_dsel0_wb_o;
wire pipe_gpr_we1_o;
wire [3:0] pipe_gpr_wa1_o;
wire pipe_gpr_wa1_usr_o;
wire pipe_gpr_dsel1_o;
wire [3:0] pipe_alu_op_o;
wire pipe_shifter_operand_imm_o;
wire pipe_cpsr_nzcv_we_o;
wire [1:0] pipe_cpsr_nzcv_dsel_o;
wire [2:0] pipe_cpsr_aif_we_o;
wire [1:0] pipe_cpsr_aif_dsel_o;
wire [2:0] pipe_cpsr_aif_d_imm_o;
wire pipe_cpsr_mode_we_o;
wire [1:0] pipe_cpsr_mode_dsel_o;
wire [4:0] pipe_cpsr_mode_d_imm_o;
wire pipe_cpsr_priv_o;
wire pipe_spsr_we_o;
wire pipe_spsr_dsel_o;
wire pipe_ls_o;
wire pipe_ls_store_o;
wire [2:0] pipe_ls_addr_offset_sel_o;
wire [1:0] pipe_ls_addr_sel_o;
wire pipe_ls_part_o;
wire pipe_ls_half_o;
wire pipe_ls_ld_sign_ext_o;
wire pipe_ls_double_o;
wire pipe_lsm_o;
wire [15:0] pipe_lsm_reglist_o;
wire [4:0] pipe_lsm_regcnt_tot_o;
wire [4:0] pipe_lsm_regcnt_dec_o;
wire [3:0] pipe_lsm_regcnt_inc_o;
wire pipe_branch_ex1_o;
wire [1:0] pipe_branch_ex1_dest_sel_o;
wire [2:0] pipe_branch_ex1_dest_imm_o;
wire pipe_branch_wb_o;
wire pipe_branch_wb_dest_sel_o;
wire pipe_mul_o;
wire pipe_mul_long_o;
wire pipe_mul_sign_o;
wire pipe_mul_add_o;
wire [1:0] pipe_ext_rot_o;
wire [1:0] pipe_ext_op_o;
wire pipe_ext_sign_o;
wire pipe_ext_add_o;
wire pipe_coproc_sel_o;
wire [3:0] pipe_coproc_cp_num_o;
wire [2:0] pipe_coproc_op1_o;
wire [2:0] pipe_coproc_op2_o;
wire [3:0] pipe_coproc_crn_o;
wire [3:0] pipe_coproc_crm_o;
wire [29:0] pc_i;
wire valid_o;
assign {pipe_valid_i, pipe_instr_i, pipe_instr_class_i} = i_pipe;
assign o_pipe = {pipe_valid_o, pipe_pc_o, pipe_instr_o, pipe_retaddr_o, pipe_cond_o, pipe_gpr_rn_sel_o, pipe_gpr_rd_sel_o, pipe_gpr_rd_sel_usr_o, pipe_gpr_rs_sel_o, pipe_gpr_rm_sel_o, pipe_gpr_we0_o, pipe_gpr_wa0_o, pipe_gpr_wa0_exc_o, pipe_gpr_dsel0_ex1_o, pipe_gpr_dsel0_ex2_o, pipe_gpr_dsel0_ex3_o, pipe_gpr_dsel0_wb_o, pipe_gpr_we1_o, pipe_gpr_wa1_o, pipe_gpr_wa1_usr_o, pipe_gpr_dsel1_o, pipe_alu_op_o, pipe_shifter_operand_imm_o, pipe_cpsr_nzcv_we_o, pipe_cpsr_nzcv_dsel_o, pipe_cpsr_aif_we_o, pipe_cpsr_aif_dsel_o, pipe_cpsr_aif_d_imm_o, pipe_cpsr_mode_we_o, pipe_cpsr_mode_dsel_o, pipe_cpsr_mode_d_imm_o, pipe_cpsr_priv_o, pipe_spsr_we_o, pipe_spsr_dsel_o, pipe_ls_o, pipe_ls_store_o, pipe_ls_addr_offset_sel_o, pipe_ls_addr_sel_o, pipe_ls_part_o, pipe_ls_half_o, pipe_ls_ld_sign_ext_o, pipe_ls_double_o, pipe_lsm_o, pipe_lsm_reglist_o, pipe_lsm_regcnt_tot_o, pipe_lsm_regcnt_dec_o, pipe_lsm_regcnt_inc_o, pipe_branch_ex1_o, pipe_branch_ex1_dest_sel_o, pipe_branch_ex1_dest_imm_o, pipe_branch_wb_o, pipe_branch_wb_dest_sel_o, pipe_mul_o, pipe_mul_long_o, pipe_mul_sign_o, pipe_mul_add_o, pipe_ext_rot_o, pipe_ext_op_o, pipe_ext_sign_o, pipe_ext_add_o, pipe_coproc_sel_o, pipe_coproc_cp_num_o, pipe_coproc_op1_o, pipe_coproc_op2_o, pipe_coproc_crn_o, pipe_coproc_crm_o};
assign {pc_i} = i_pc;
assign o_valid = {valid_o};
decode2 u_decode2(
  .i_pipe_valid(pipe_valid_i),
  .i_pipe_instr(pipe_instr_i),
  .i_pipe_instr_class(pipe_instr_class_i),
  .o_pipe_valid(pipe_valid_o),
  .o_pipe_pc(pipe_pc_o),
  .o_pipe_instr(pipe_instr_o),
  .o_pipe_retaddr(pipe_retaddr_o),
  .o_pipe_cond(pipe_cond_o),
  .o_pipe_gpr_rn_sel(pipe_gpr_rn_sel_o),
  .o_pipe_gpr_rd_sel(pipe_gpr_rd_sel_o),
  .o_pipe_gpr_rd_sel_usr(pipe_gpr_rd_sel_usr_o),
  .o_pipe_gpr_rs_sel(pipe_gpr_rs_sel_o),
  .o_pipe_gpr_rm_sel(pipe_gpr_rm_sel_o),
  .o_pipe_gpr_we0(pipe_gpr_we0_o),
  .o_pipe_gpr_wa0(pipe_gpr_wa0_o),
  .o_pipe_gpr_wa0_exc(pipe_gpr_wa0_exc_o),
  .o_pipe_gpr_dsel0_ex1(pipe_gpr_dsel0_ex1_o),
  .o_pipe_gpr_dsel0_ex2(pipe_gpr_dsel0_ex2_o),
  .o_pipe_gpr_dsel0_ex3(pipe_gpr_dsel0_ex3_o),
  .o_pipe_gpr_dsel0_wb(pipe_gpr_dsel0_wb_o),
  .o_pipe_gpr_we1(pipe_gpr_we1_o),
  .o_pipe_gpr_wa1(pipe_gpr_wa1_o),
  .o_pipe_gpr_wa1_usr(pipe_gpr_wa1_usr_o),
  .o_pipe_gpr_dsel1(pipe_gpr_dsel1_o),
  .o_pipe_alu_op(pipe_alu_op_o),
  .o_pipe_shifter_operand_imm(pipe_shifter_operand_imm_o),
  .o_pipe_cpsr_nzcv_we(pipe_cpsr_nzcv_we_o),
  .o_pipe_cpsr_nzcv_dsel(pipe_cpsr_nzcv_dsel_o),
  .o_pipe_cpsr_aif_we(pipe_cpsr_aif_we_o),
  .o_pipe_cpsr_aif_dsel(pipe_cpsr_aif_dsel_o),
  .o_pipe_cpsr_aif_d_imm(pipe_cpsr_aif_d_imm_o),
  .o_pipe_cpsr_mode_we(pipe_cpsr_mode_we_o),
  .o_pipe_cpsr_mode_dsel(pipe_cpsr_mode_dsel_o),
  .o_pipe_cpsr_mode_d_imm(pipe_cpsr_mode_d_imm_o),
  .o_pipe_cpsr_priv(pipe_cpsr_priv_o),
  .o_pipe_spsr_we(pipe_spsr_we_o),
  .o_pipe_spsr_dsel(pipe_spsr_dsel_o),
  .o_pipe_ls(pipe_ls_o),
  .o_pipe_ls_store(pipe_ls_store_o),
  .o_pipe_ls_addr_offset_sel(pipe_ls_addr_offset_sel_o),
  .o_pipe_ls_addr_sel(pipe_ls_addr_sel_o),
  .o_pipe_ls_part(pipe_ls_part_o),
  .o_pipe_ls_half(pipe_ls_half_o),
  .o_pipe_ls_ld_sign_ext(pipe_ls_ld_sign_ext_o),
  .o_pipe_ls_double(pipe_ls_double_o),
  .o_pipe_lsm(pipe_lsm_o),
  .o_pipe_lsm_reglist(pipe_lsm_reglist_o),
  .o_pipe_lsm_regcnt_tot(pipe_lsm_regcnt_tot_o),
  .o_pipe_lsm_regcnt_dec(pipe_lsm_regcnt_dec_o),
  .o_pipe_lsm_regcnt_inc(pipe_lsm_regcnt_inc_o),
  .o_pipe_branch_ex1(pipe_branch_ex1_o),
  .o_pipe_branch_ex1_dest_sel(pipe_branch_ex1_dest_sel_o),
  .o_pipe_branch_ex1_dest_imm(pipe_branch_ex1_dest_imm_o),
  .o_pipe_branch_wb(pipe_branch_wb_o),
  .o_pipe_branch_wb_dest_sel(pipe_branch_wb_dest_sel_o),
  .o_pipe_mul(pipe_mul_o),
  .o_pipe_mul_long(pipe_mul_long_o),
  .o_pipe_mul_sign(pipe_mul_sign_o),
  .o_pipe_mul_add(pipe_mul_add_o),
  .o_pipe_ext_rot(pipe_ext_rot_o),
  .o_pipe_ext_op(pipe_ext_op_o),
  .o_pipe_ext_sign(pipe_ext_sign_o),
  .o_pipe_ext_add(pipe_ext_add_o),
  .o_pipe_coproc_sel(pipe_coproc_sel_o),
  .o_pipe_coproc_cp_num(pipe_coproc_cp_num_o),
  .o_pipe_coproc_op1(pipe_coproc_op1_o),
  .o_pipe_coproc_op2(pipe_coproc_op2_o),
  .o_pipe_coproc_crn(pipe_coproc_crn_o),
  .o_pipe_coproc_crm(pipe_coproc_crm_o),
  .i_pc(pc_i),
  .o_valid(valid_o)
);
endmodule
